package br.com.usp.shared;

 

 

import com.google.gwt.user.client.rpc.IsSerializable;
import com.google.gwt.user.client.ui.Widget;



public class BMMRepresentation implements IsSerializable {


	private int id;

	private String Descricao;

    private String Tipo;

    private String Representacao;
    
	private int  left;

	private int   top;

	private Widget representacaoGraficaBMM;

	private Widget representacaoGraficaPrimeiroNivel;

    private Widget representacaoGraficaSegundoNivel;
    
    
    public BMMRepresentation()
    {
    	
    }
    
    public BMMRepresentation(BMMDTO bmm)
    {
    	this.id = bmm.getId();
    	this.Descricao = bmm.getDescricao();
    	this.Representacao = bmm.getRepresentacao();
    	this.left  = bmm.getLeft();
    	this.top   = bmm.getTop();
    	this.Tipo  = bmm.getTipo();
    }
    
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDescricao() {
		return Descricao;
	}

	public void setDescricao(String descricao) {
		Descricao = descricao;
	}

	public String getTipo() {
		return Tipo;
	}

	public void setTipo(String tipo) {
		Tipo = tipo;
	}

	public String getRepresentacao() {
		return Representacao;
	}

	public void setRepresentacao(String representacao) {
		Representacao = representacao;
	}

	public int getLeft() {
		return left;
	}

	public void setLeft(int left) {
		this.left = left;
	}

	public int getTop() {
		return top;
	}

	public void setTop(int top) {
		this.top = top;
	}

	public Widget getRepresentacaoGraficaBMM() {
		return representacaoGraficaBMM;
	}

	public void setRepresentacaoGraficaBMM(Widget representacaoGraficaBMM) {
		this.representacaoGraficaBMM = representacaoGraficaBMM;
	}

	public Widget getRepresentacaoGraficaPrimeiroNivel() {
		return representacaoGraficaPrimeiroNivel;
	}

	public void setRepresentacaoGraficaPrimeiroNivel(
			Widget representacaoGraficaPrimeiroNivel) {
		this.representacaoGraficaPrimeiroNivel = representacaoGraficaPrimeiroNivel;
	}

	public Widget getRepresentacaoGraficaSegundoNivel() {
		return representacaoGraficaSegundoNivel;
	}

	public void setRepresentacaoGraficaSegundoNivel(
			Widget representacaoGraficaSegundoNivel) {
		this.representacaoGraficaSegundoNivel = representacaoGraficaSegundoNivel;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result
				+ ((Descricao == null) ? 0 : Descricao.hashCode());
		result = prime * result
				+ ((Representacao == null) ? 0 : Representacao.hashCode());
		result = prime * result + ((Tipo == null) ? 0 : Tipo.hashCode());
		result = prime * result + id;
		result = prime * result + left;
		result = prime
				* result
				+ ((representacaoGraficaBMM == null) ? 0
						: representacaoGraficaBMM.hashCode());
		result = prime
				* result
				+ ((representacaoGraficaPrimeiroNivel == null) ? 0
						: representacaoGraficaPrimeiroNivel.hashCode());
		result = prime
				* result
				+ ((representacaoGraficaSegundoNivel == null) ? 0
						: representacaoGraficaSegundoNivel.hashCode());
		result = prime * result + top;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		BMMRepresentation other = (BMMRepresentation) obj;
		if (Descricao == null) {
			if (other.Descricao != null)
				return false;
		} else if (!Descricao.equals(other.Descricao))
			return false;
		if (Representacao == null) {
			if (other.Representacao != null)
				return false;
		} else if (!Representacao.equals(other.Representacao))
			return false;
		if (Tipo == null) {
			if (other.Tipo != null)
				return false;
		} else if (!Tipo.equals(other.Tipo))
			return false;
		if (id != other.id)
			return false;
		if (left != other.left)
			return false;
		if (representacaoGraficaBMM == null) {
			if (other.representacaoGraficaBMM != null)
				return false;
		} else if (!representacaoGraficaBMM
				.equals(other.representacaoGraficaBMM))
			return false;
		if (representacaoGraficaPrimeiroNivel == null) {
			if (other.representacaoGraficaPrimeiroNivel != null)
				return false;
		} else if (!representacaoGraficaPrimeiroNivel
				.equals(other.representacaoGraficaPrimeiroNivel))
			return false;
		if (representacaoGraficaSegundoNivel == null) {
			if (other.representacaoGraficaSegundoNivel != null)
				return false;
		} else if (!representacaoGraficaSegundoNivel
				.equals(other.representacaoGraficaSegundoNivel))
			return false;
		if (top != other.top)
			return false;
		return true;
	}

    
	
	
	
	
	
	
}
